サーバクラスマシンの検出

J2SE 5.0 より、起動するアプリケーションがサーバクラスマシン上で実行されているかどうかを起動ツールで検出できるようになりました。サーバクラスマシン上で実行されていれば、Java HotSpot Client Virtual Machine (クライアント VM) ではなく、Java HotSpot Server Virtual Machine (サーバ VM) が使用されます。これで、実行しているアプリケーションを反映するように VM が設定されていなくても、パフォーマンスを向上させられます。一般に、クライアント VM よりもサーバ VM の起動が低速ですが、徐々に速く動作するようになります。


注: J2SE 5.0 の場合、サーバクラスマシンとは、少なくとも 2つの CPU と、最少でも 2GB の物理メモリを備えているマシンを指します。

J2SE 5.0 では、Solaris または Linux を実行している i586 または Sparc 32 ビットマシン上でアプリケーションを起動するときに、-server-client のどちらも指定されていない場合に、サーバクラス の検出が行われます。以下の表からも分かるように、i586 Microsoft Windows プラットフォームではデフォルトでクライアント VM を使用します。Sun がサポートしている残りのプラットフォームでは、サーバ VM だけを使用します。

プラットフォーム
デフォルト VM
アーキテクチャ OS
クライアント VM
サーバクラスの場合はサーバ VM、
そうでない場合はクライアント VM
サーバ VM
SPARC 32 ビット Solaris
 
X
 
i586 Solaris
 
X
 
Linux
 
X
 
Microsoft Windows
X
 
 
SPARC 64 ビット Solaris
 
X
AMD64 Linux
 
X
Microsoft Windows
 
X
凡例:   X = デフォルト VM      — = このプラットフォームで提供されていないクライアント VM

コマンド行オプションを使用するアプリケーションの起動については、SolarisLinux、または Microsoft Windows 用の java ツールのドキュメントを参照してください。